package com.example.aslongastoday.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;

public class TimeUtil {
    public static Date timeUtil = new Date();
    public static String getNowTime(){
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return df.format(new Date());
    }

    public static String getFormatTime(Date time){
        SimpleDateFormat df = new SimpleDateFormat("yyyy年\nMM月dd日");
        return df.format(time);
    }

    public static String toFormatTime(Date time){
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        return df.format(time);
    }

    /**
     * 这个字符串对年月日进行拆分的函数是为了Date类新建的时候所准备的，所以在年和月份的处理上要遵循它的一些浅规则。
     * Date类中的年份的0值默认为1900
     * Date类中的月份的0值映射为1月
     * 所以构建Date类需要注意转化！
     * @param timeString
     * @return
     */
    public static HashMap<String,Integer> getTimeParts(String timeString){
        HashMap<String,Integer> map = new HashMap<>();
        String[] timeParts = timeString.split("-");
        map.put("year",Integer.valueOf(timeParts[0])-1900);
        map.put("month",Integer.valueOf(timeParts[1])-1);
        map.put("day",Integer.valueOf(timeParts[2]));
        return map;
    }

    /**
     * 用于获取当前的系统时间的年份
     * 这里的时间需要修正+1900
     * @return
     */
    public static int getNowYear(){
        return timeUtil.getYear()+1900;
    }

    /**
     * 用于获取当前的系统时间的月份
     * @return
     */
    public static int getNowMonth(){
        return timeUtil.getMonth();
    }
    /**
     * 用于获取当前的系统时间的日期
     * @return
     */
    public static int getNowDay(){
        return timeUtil.getDate();
    }
}
